package hashset03;

import java.util.HashSet;

/*
HashSet底层保证存储元素唯一原理：
    新添加的元素与集合中已有的元素通过调用hashCode()方法比较哈希值
       如果两个元素的哈希值不同，新添加的元素直接存入
       如果两个哈希值相同
          此时需通过equals()方法比较两个元素的内容，如果equals返回true，说明两个元素内容相同，此时新添加的元素不再存入
                                             如果equals返回false，说明两个元素内容不同，此时新添加的元素就要存入
 */
public class HashSetDemo02 {
    public static void main(String[] args) {
        HashSet<Person> people = new HashSet<Person>();
        people.add(new Person("张三", 19));
        people.add(new Person("张三", 19));

        people.add(new Person("王五", 22));

        System.out.println(people);

    }
}
